using System;
using System.Collections;

namespace Northwind.DataAccess
{
	
	public abstract class Orders
	{
	
		public System.DateTime OrderDate
		{
			get { return this.orderDate; }
			set { this.orderDate = value; }
		}

		public System.DateTime RequiredDate
		{
			get { return this.requiredDate; }
			set { this.requiredDate = value; }
		}

		public System.DateTime ShippedDate
		{
			get { return this.shippedDate; }
			set { this.shippedDate = value; }
		}

		public System.Decimal Freight
		{
			get { return this.freight; }
			set { this.freight = value; }
		}

		public System.String ShipName
		{
			get { return this.shipName; }
			set { this.shipName = value; }
		}

		public System.String ShipAddress
		{
			get { return this.shipAddress; }
			set { this.shipAddress = value; }
		}

		public System.String ShipCity
		{
			get { return this.shipCity; }
			set { this.shipCity = value; }
		}

		public System.String ShipRegion
		{
			get { return this.shipRegion; }
			set { this.shipRegion = value; }
		}

		public System.String ShipPostalCode
		{
			get { return this.shipPostalCode; }
			set { this.shipPostalCode = value; }
		}

		public System.String ShipCountry
		{
			get { return this.shipCountry; }
			set { this.shipCountry = value; }
		}

		public Northwind.DataAccess.Customer Customer
		{
			get { return this.customer; }
			set { this.customer = value; }
		}

		public Northwind.DataAccess.Employee Employee
		{
			get { return this.employee; }
			set { this.employee = value; }
		}

		public Northwind.DataAccess.Shipper ShipVia
		{
			get { return this.shipVia; }
			set { this.shipVia = value; }
		}

//		protected void OnCreate(object[] args)
//		{
//		}
		
//		protected void OnMaterialize()
//		{
//		}
		
//		protected void OnValidate()
//		{
//		}
		
		protected abstract System.DateTime orderDate { get; set; }

		protected abstract System.DateTime requiredDate { get; set; }

		protected abstract System.DateTime shippedDate { get; set; }

		protected abstract System.Decimal freight { get; set; }

		protected abstract System.String shipName { get; set; }

		protected abstract System.String shipAddress { get; set; }

		protected abstract System.String shipCity { get; set; }

		protected abstract System.String shipRegion { get; set; }

		protected abstract System.String shipPostalCode { get; set; }

		protected abstract System.String shipCountry { get; set; }

		protected abstract Northwind.DataAccess.Customer customer { get; set; }

		protected abstract Northwind.DataAccess.Employee employee { get; set; }

		protected abstract Northwind.DataAccess.Shipper shipVia { get; set; }

	}
}
